// -*-C++-*-
/*!
 * @file  MapInfoSVC_impl.h
 * @brief Service implementation header of MapInfo.idl
 *
 */

#include "MapInfoSkel.h"
#include "structure.h"

#ifndef MAPINFOSVC_IMPL_H
#define MAPINFOSVC_IMPL_H
 
/*
 * Example class implementing IDL interface MapInfo
 */
class MapInfoSVC_impl
 : public virtual POA_MapInfo,
   public virtual PortableServer::RefCountServantBase
{
 private:
   // Make sure all instances are built on the heap by making the
   // destructor non-public
   //virtual ~MapInfoSVC_impl();
   MapData* map;

 public:
   // standard constructor
   MapInfoSVC_impl(MapData* map_p);
   virtual ~MapInfoSVC_impl();

   // attributes and operations
   CORBA::Boolean setFullGridMap(const RTC::TimedOctetSeq& mapdata, CORBA::Short origin_coord_x, CORBA::Short origin_coord_y, CORBA::Short width, CORBA::Short height, CORBA::Double resolution);
   CORBA::Boolean getFullGridMap(RTC::TimedOctetSeq& mapdata, CORBA::Short& origin_coord_x, CORBA::Short& origin_coord_y, CORBA::Short& width, CORBA::Short& height, CORBA::Double& resolution);
   CORBA::Boolean getPartialGridMap(CORBA::Short& partial_x, CORBA::Short& partial_y, CORBA::Short& partial_width, CORBA::Short& partial_height, RTC::TimedOctetSeq& partial_map);

};



#endif // MAPINFOSVC_IMPL_H


